package com.ruoyi.business.mapper;

import java.util.List;

import com.ruoyi.bizsys.domain.LoanIou;
import com.ruoyi.bizsys.domain.ZollectionExcludePhone;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.ruoyi.bizsys.domain.RepaymentOrder;
import com.ruoyi.bizsys.domain.SmsSendLog;
import com.ruoyi.business.domain.UnionpayAccount;
import com.ruoyi.business.domain.UnionpayAddress;
import com.ruoyi.business.domain.UnionpayChargebacksFlow;
import com.ruoyi.business.domain.UnionpayCustomer;
import com.ruoyi.business.domain.UnionpayMobile;
import com.ruoyi.business.domain.UnionpayRepaymentPlan;

/**
 * 
 * @author victor
 *
 */
@Mapper
public interface BCollectionMapper {

    public void insertUnionpayAccount(UnionpayAccount unionpayAccount);
    public void insertUnionpayAddress(UnionpayAddress unionpayAddress);
    public void insertUnionpayChargebacksFlow(UnionpayChargebacksFlow unionpayChargebacksFlow);
    public void insertUnionpayCustomer(UnionpayCustomer unionpayCustomer);
    public void insertUnionpayMobile(UnionpayMobile unionpayMobile);
    public void insertUnionpayRepaymentPlan(UnionpayRepaymentPlan unionpayRepaymentPlan);
    
    public void deleteUnionpayAccount();
    public void deleteUnionpayAddress();
    public void deleteUnionpayChargebacksFlow();
    public void deleteUnionpayCustomer();
    public void deleteUnionpayMobile();
    public void deleteUnionpayRepaymentPlan();
    
    public List<String> getOverdueCustNo(@Param("startLimit")int startLimit, @Param("limitSize")int limitSize, @Param("repayDate")String repayDate);
    
    public Integer selectLoanSeq(@Param("custNo")String custNo, @Param("id")Long id);

    public LoanIou selectFirstLoanIou(String custNo);

    /**
     * 查询短信发送日志列表
     *
     * @param smsSendLog 短信发送日志
     * @return 短信发送日志集合
     */
    public List<SmsSendLog> selectSmsSendLogList(SmsSendLog smsSendLog);


    /**
     * 查询还款管理列表
     *
     * @param repaymentOrder 还款管理
     * @return 还款管理集合
     */
    public List<RepaymentOrder> selectRepaymentOrderList(RepaymentOrder repaymentOrder);


    List<String> getOverdueCustNoAll(@Param("repayDate")String repayDate);

    List<ZollectionExcludePhone> getDataForCallResult(String nowTime);

    int updateCollectionSmsTaskIsSend();

    void delZollectionContactsRelation();

    void addZollectionContactsRelation(@Param("repayDate")String repayDate);
}
